সি++ এ ইটেরেটর ফাংশনগুলো (begin()
, end()
, rbegin()
, rend()
) বিভিন্ন কনটেইনারের উপাদানগুলোর উপর কাজ করতে এবং এগুলোর মধ্যে ট্রাভার্স করতে ব্যবহার করা হয়। এগুলোর মাধ্যমে প্রোগ্রামাররা সহজেই কনটেইনারের শুরু ও শেষ পয়েন্টে কাজ করতে পারে এবং এগুলোর জন্য বিভিন্ন প্রকারের লুপ ও অ্যালগরিদম ব্যবহার করতে পারে।
begin()
ফাংশনbegin()
ফাংশনটি কনটেইনারের প্রথম ইলিমেন্টের একটি ইটেরেটর রিটার্ন করে। এটি মূলত কনটেইনারের শুরু থেকে উপাদানগুলোতে অ্যাক্সেস করতে সাহায্য করে।
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// `begin()` ফাংশন ব্যবহার করে প্রথম ইলিমেন্ট থেকে লুপ চালানো
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
উপরে, begin()
ভেক্টরের প্রথম উপাদানটি নির্দেশ করে এবং এটি দিয়ে কনটেইনারের উপর লুপ চালানো যায়।
end()
ফাংশনend()
ফাংশনটি কনটেইনারের শেষ ইলিমেন্টের ঠিক পরের পজিশনের একটি ইটেরেটর রিটার্ন করে। এটি সাধারণত লুপের শেষ সীমা নির্ধারণের জন্য ব্যবহৃত হয়।
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
উপরে end()
ইটেরেটরটি শেষ উপাদানের ঠিক পরের পজিশন নির্দেশ করে, তাই এটি লুপে !=
এর মাধ্যমে শেষ সীমা হিসেবে ব্যবহৃত হয়।
rbegin()
ফাংশনrbegin()
ফাংশনটি কনটেইনারের শেষ ইলিমেন্টের একটি রিভার্স ইটেরেটর রিটার্ন করে, যা শেষ থেকে শুরু করে প্রথম ইলিমেন্ট পর্যন্ত লুপ চালানোর জন্য ব্যবহৃত হয়।
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// `rbegin()` এবং `rend()` ব্যবহার করে রিভার্স লুপ চালানো
for (auto it = numbers.rbegin(); it != numbers.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
এখানে rbegin()
শেষ উপাদান নির্দেশ করে এবং রিভার্স লুপে ব্যবহৃত হয় যা প্রথম ইলিমেন্ট পর্যন্ত যায়।
rend()
ফাংশনrend()
ফাংশনটি কনটেইনারের প্রথম ইলিমেন্টের ঠিক পূর্বের একটি রিভার্স ইটেরেটর রিটার্ন করে, যা রিভার্স লুপের শেষ সীমা হিসেবে ব্যবহৃত হয়।
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
for (auto it = numbers.rbegin(); it != numbers.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
এখানে rend()
ইটেরেটরটি কনটেইনারের শুরুর ঠিক পূর্ববর্তী অবস্থান নির্দেশ করে এবং রিভার্স লুপের শেষ সীমা হিসেবে ব্যবহৃত হয়।
begin()
: কনটেইনারের প্রথম উপাদানের ইটেরেটর রিটার্ন করে।end()
: শেষ উপাদানের পরবর্তী পজিশনের ইটেরেটর রিটার্ন করে।rbegin()
: শেষ উপাদানের রিভার্স ইটেরেটর রিটার্ন করে, যা রিভার্স লুপের জন্য ব্যবহৃত হয়।rend()
: প্রথম উপাদানের পূর্ববর্তী পজিশনের রিভার্স ইটেরেটর রিটার্ন করে।এই ইটেরেটর ফাংশনগুলো কনটেইনারের মধ্যে উপাদানগুলোতে সহজেই প্রবেশাধিকার দেয় এবং এগুলোর মধ্যে লুপ চালানো বা অ্যালগরিদম প্রয়োগ করতে সহায়ক হয়।
Read more